﻿// MyDialog.cpp: 实现文件
//

#include "pch.h"
#include "MFCApplication1.h"
#include "MyDialog.h"
#include "afxdialogex.h"
#include "MFCApplication1Doc.h"

// MyDialog 对话框

IMPLEMENT_DYNAMIC(MyDialog, CDialogEx)

MyDialog::MyDialog(CWnd* pParent /*=nullptr*/)
	: CDialogEx(IDD_DIALOG1, pParent)
{

}

MyDialog::~MyDialog()
{
}

void MyDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_EDIT1, EditButton);
	DDX_Control(pDX, IDC_BUTTON1, Button);
}


BEGIN_MESSAGE_MAP(MyDialog, CDialogEx)
	ON_BN_CLICKED(IDC_BUTTON1, &MyDialog::OnClickedButton1)
END_MESSAGE_MAP()


// MyDialog 消息处理程序

//点击对话框“确定”消息
void MyDialog::OnClickedButton1()
{
	//获取EditControl中的文本内容
	CString str;
	this->EditButton.GetWindowTextW(str);
	//客户区笔刷填充白色刷新
	CDC* pDC = GetParent()->GetDC();
	CRect rect;
	GetClientRect(&rect);
	CBrush brush(RGB(255, 255, 255));
	pDC->FillRect(&rect, &brush);
	//在客户区左上角显示文本
	pDC->TextOutW(1, 1, str);
	//根据dialog父窗口、视图窗口的get方法获取document
	CMFCApplication1Doc* doc = (CMFCApplication1Doc*)GetParentFrame()->GetActiveView()->GetDocument();
	//将EditControl中的text保存至document的成员变量中
	doc->setStr(str);

	//释放设备上下文环境
	ReleaseDC(pDC);
	//关闭非模态对话框
	EndDialog(-1);

}

void MyDialog::clear() {
	//清屏函数，除提示消息外的所有消息都会被清空、置为初始状态
	CDC* pDC = GetDC();
	CRect rect;
	GetClientRect(&rect);
	CBrush brush(RGB(255, 255, 255));
	pDC->FillRect(&rect, &brush);
	//释放设备上下文环境
	ReleaseDC(pDC);
}